Introduction to software Engineering and software process model Software Requirements Engineering and Analysis Estimation and Scheduling Design Engineering Risks and Configuration Management Software Testing

Introduction

Modelling Requirement Engineering

Establishing the Groundwork

Identifying Stakeholders

Recognizing Multiple viewpoint

Working towards collaboration

Ashking the first questions

Eliciting Requirement

Collaborative Requirement Gathering

Usage scenarios

Elicitation Work Product

Developing Use Cases

Building the requirements model

Elements of the Requirements Model

Negotiating requirements

Validating Requirement

Quality Function Deployment (QFD) is a powerful technique in software development that helps ensure customer satisfaction by translating customer needs into technical requirements. Think of it as a way to bridge the gap between what customers want and what software engineers need to deliver.


1. Understanding QFD:


QFD concentrates on maximizing customer satisfaction throughout the software engineering process. It's like having a magic wand that turns customer wishes into concrete technical requirements. QFD identifies three types of requirements:


a. Normal Requirements:


These are the basic objectives and goals stated by customers. For example, if you're building a mobile app, normal requirements could include specific graphical displays, desired functions, and defined performance levels.


b. Expected Requirements:


These are implicit requirements that customers might not explicitly state but are fundamental to their satisfaction. Think of them as the must-haves. For instance, ease of use, overall correctness, and reliability fall into this category.


c. Exciting Requirements:


These go beyond customer expectations and bring delight. While basic features of a mobile phone app are expected, exciting requirements could be unexpected capabilities like a multitouch screen or visual voicemail.



2. The "Requirements Creep" Dilemma:


Implementing exciting requirements can be tempting, but it can also lead to "requirements creep," where the scope of the project keeps expanding. On the flip side, exciting requirements can lead to breakthrough products. Striking the right balance is crucial.


3. How QFD Works:


QFD uses various techniques during the requirements elicitation activity. It involves customer interviews, surveys, and historical data analysis. The gathered data is transformed into a table called the "customer voice table." This table is then reviewed with customers and stakeholders. Diagrams, matrices, and evaluation methods are used to extract expected and exciting requirements.


4. Usage Scenarios in Requirements Gathering:


As requirements are gathered, a vision of system functions starts to emerge. However, understanding how these functions will be used by different end users is crucial. This is where usage scenarios come into play. Imagine you're building a home security system software named SafeHome.


5. A SafeHome Scenario:


The Setting:


Imagine a meeting room with software team members, marketing representatives, and a facilitator discussing the requirements for SafeHome.


The Scene:


The facilitator suggests developing a usage scenario for accessing the home security function via the Internet.


The Conversation:


  • Facilitator: Let's keep it informal. Marketing, how do you envision accessing the system?
  • Marketing Person: Well, if I'm away, I'd log on to a website, provide my user ID, and...
  • Vinod (Software Team): The website needs to be secure, encrypted.
  • Facilitator: Let's focus on how the end user will use this. Keep it non-technical.
  • Marketing Person: I'd log on, provide my ID and passwords, see all SafeHome functions, select home security, and then possibly verify my identity.

  • 6. Importance of Scenarios:


    In this scenario, the marketing person envisions the step-by-step process of accessing the home security function. These scenarios help developers and users understand how the system will be used in real-life situations. It's like creating a story that guides the development process.


    7. Conclusion:


    QFD, along with usage scenarios, is a dynamic duo in the world of requirements engineering. They help in turning customer needs into tangible technical requirements and provide a clear vision of how the software will be used. Balancing normal, expected, and exciting requirements ensures customer satisfaction without falling into the trap of requirements creep.

    So, next time you're building software, think of QFD as your customer satisfaction compass, and usage scenarios as your storytelling tool to guide development.

    Software


    Software refers to the set of programs, data, and instructions that enable computers to perform specific tasks or functions. It encompasses applications, operating systems, and utilities designed to fulfill user needs, enhancing productivity, communication, entertainment, and virtually all aspects of modern life through computational processes and data manipulation.


    Software Engineering


    Software Engineering is the disciplined application of principles, methods, and tools to develop, test, deploy, and maintain high-quality software systems. It involves systematic approaches to problem-solving, project management, and teamwork, aiming to meet user needs efficiently while adhering to standards and best practices throughout the software development lifecycle.